﻿// Fan.cs
using System.Security.Principal;

[DisplayName("粉丝管理模块")]
public class Fan : EntityBase
{
    [Required]
    [Key]
    [MaxLength(50)]
    [DisplayName("粉丝ID")]
    public string FanId { get; set; }

    [Required]
    [MaxLength(50)]
    [DisplayName("帐号ID")]
    public string AccountId { get; set; }

    [Required]
    [MaxLength(50)]
    [DisplayName("粉丝用户ID")]
    public string UserId { get; set; }


    [MaxLength(100)]
    [DisplayName("用户名称")]
    public string UserName { get; set; }


    [MaxLength(255)]
    [DisplayName("用户图像")]
    public string UserAvatar { get; set; }


    [DisplayName("用户配置")]
    public string Profile { get; set; }

    [Required]
    [DisplayName("关注时间")]
    public DateTime FollowedAt { get; set; }
    [DisplayName("最后时间")]
    public DateTime? LastInteraction { get; set; }


    [DisplayName("等级")]
    public FanLevel Level { get; set; } = FanLevel.Normal;

    [MaxLength(50)]
    [DisplayName("标签")]
    public string Tag { get; set; }


    public virtual Account Account { get; set; }
}

public enum FanLevel
{
    Normal = 1,
    VIP = 2,
    SuperFan = 3
}